requirejs(['jquery', 'Util', 'bootstrap', 'metisMenu', 'slimScroll', 'inspinia', 'jQtmpl', 'pagination'], function ($, Util) {

    var total_item = 0;// 数据总条数
    var current_page = 0;// 当前页码
    var page_size = 10;// 每页显示10条数据(对应后端分页设置)

    initTable();// 初始化table

    /**
     * 页面首次加载时
     * 初始化table分页
     * @returns {undefined}
     */
    function initTable() {
        ajaxGetRows();
        loadShopData(current_page);
    }

    /**
     * 拉取数据总条数
     * 若总条数大于每页显示数据
     * 则进行分页控件初始化
     */
    function ajaxGetRows() {
        $.get('/console/ajaxGetShopRows', function (ret) {
            total_item = ret.ret_code;
            if (total_item > page_size) {
                initPagination();
            }
        });
    }

    /**
     * 加载分页数据
     * @param {type} page 当前页
     * @returns {undefined}
     */
    function loadShopData(page) {
        $.post('/console/ajaxGetShopListData', {
            current_page: page
        }, function (data) {
            $('#data-table tbody').html('');
            $('#data-table-tmpl').tmpl(data).appendTo($('#data-table tbody'));
            /**
             * 关闭按钮点击
             * @param {type} e
             */
            $('.close-btn').on('click', function (e) {
                e.preventDefault();
                var $node = $(this);
                var id = $node.attr('data-id');
                $.post('/console/shopClose', {
                    id: id
                }, function (ret) {
                    if (ret.ret_msg === 'success') {
                        Util.Alert('操作成功!');
                        $node.parent('td').siblings('.status').html('关闭').addClass('text-danger');
                    } else {
                        Util.Alert('操作失败', 1);
                    }
                });
            });
        });
    }

    /**
     * 分页控件初始化
     * 初始化完毕显示DOM节点
     * @returns {undefined}
     */
    function initPagination() {
        $('#pagination').pagination(total_item, {
            current_page: current_page,
            items_per_page: page_size, //pageSize，每页最多显示的记录数
            prev_text: "上一页",
            next_text: "下一页",
            num_edge_entries: 1, //两侧显示的首尾分页的条目数
            num_display_entries: 3, //连续分页主体部分显示的分页条目数
            prev_show_always: true,
            next_show_always: true,
            callback: function (page) {
                loadShopData(page);
            }
        });
        $('#pagination').show();
    }

});

